package com.sg.dto.biz.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @desc ImplementTwoTimeAddAndSubReqDto
 * @使用场景
 */
@Data
public class ImplementTwoTimeAddAndSubReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 计算开始时间
     */
    @ApiModelProperty("计算开始时间")
    private Date calcStartTime;

    /**
     * 计算结束时间
     */
    @ApiModelProperty("计算结束时间")
    private Date calcEndTime;

    /**
     * 时间单位类型 YEAR:年 MONTH:月 DAY:天 HOUR:小时 MINUTES:分钟 SECOND:秒
     */
    @ApiModelProperty("时间单位类型")
    private String timeUnitType;

    /**
     * 通用计算公式 ADDITION_OF_TWO_NUM:两个数相加 SUBTRACTION_OF_TWO_NUM:两个数相减 DIVISION_OF_TWO_NUM:两个数相除 SUM_OF_MULTIPLE_NUM:数据集求和 RATIO_BETWEEN_TWO_NUM:两个数差额比 RATIO_OF_TWO_NUM:两个数数值比 COMPLEX_CALC_OF_MULTIPLE_NUM:数据集复合计算 NEWEST_OF_MULTIPLE_NUM:数据集取最新 MAX_OR_MIN_OF_MULTIPLE_NUM:数据集求最大最小值 AVERAGE_OF_MULTIPLE_NUM:数据集求平均值 PART_AVE_OF_MULTIPLE_NUM:数据集去除最大最小求平均 COMPLEX_CALC_OF_TWO_NUM:两个数复合计算 MULTI_OF_TWO_NUM:两个数相乘
     */
    @ApiModelProperty("通用计算公式")
    private String calcFormula;

    private String deviationDurationCompRule;

    private Long decimalPointRules;

    private String decimalDigitsLastRules;

}
